<?php

/*
 * Pagina Noticia
 * @Autor: Andrés Ubilla - Inicial.cl
 */

class Relato extends TPage {

    const RELATO = 0;
    const ULTIMOS_RELATOS = 4;
    const ULTIMOS_COMENTARIOS = 7;

    public function onLoad($param) {
        parent::onLoad($param);
        if (!$this->IsPostBack) {
            $this->actualizarIntefaz();
        }
    }

    private function actualizarIntefaz() {
        $arr = $this->obtenerDatos();
        $this->iniciarControles($arr);
    }

    private function obtenerDatos() {
        $arr = array();
        $arg = Util::isNull($this->Request["a"], "-1");
        $id = Util::desencriptarUrl($arg, "id");
        $redireccionar = false;
        if (!Util::isNullOrEmpty($id)) {
            if (is_numeric($id) && $id > 0) {
                try {
                    $this->setViewState("ID", $id);
                    $oRelato = new Relato_escort();
                    $oRelatoBLL = new Relato_escortBLL();
                    $oRelato = $oRelatoBLL->obtenerPorId($id);
                    $oComentarioBLL = new ComentarioBLL();
                    $arr[self::RELATO] = $oRelato;
                    $arr[self::ULTIMOS_RELATOS] = $oRelatoBLL->listarUltimas();
                    $arr[self::ULTIMOS_COMENTARIOS] = $oComentarioBLL->listarUltimos();

                    return $arr;
                } catch (Exception $e) {
                    Util::enviarException("Relato.obtenerDatos", $e->getMessage());
                }
            } else {
                $redireccionar = true;
            }
        } else {
            $redireccionar = true;
        }
        if ($redireccionar) {
            $this->Response->Redirect("index.php");
        }
        return $arr;
    }

    private function iniciarControles($arr) {
        if (count($arr) > 0) {
            $this->iniciarControlesRelato($arr[self::RELATO]);
            $this->iniciarControlesUltimosRelatos($arr[self::ULTIMOS_RELATOS]);
            $this->iniciarControlesUltimosComentarios($arr[self::ULTIMOS_COMENTARIOS]);
        }

        $oUsuario = new Usuario();
        $oUsuario = Util::getSession("USUARIO");
        if ($oUsuario != null) {
            $arg = Util::encriptarUrl(array("id" => $oUsuario->getId()));
            $this->litComentarComoTop->Text = "<span class=\"user_com\">Comentar como <a href=\"index.php?page=Index.ViewUsuario&a=" . $arg . "\" title=\"Ir a mi perfil\">" . $oUsuario->getUsuario() . "</a> - No eres tu? <a href=\"index.php?page=Index.CerrarSession\" title=\"Cerrar sesion\">Cambiar de usuario</a></span>";
            $oRelato = $arr[self::RELATO];
            $arg = Util::encriptarUrl(array("id" => $oRelato->getId()));
            $page = "?page=Index.Relato&a=" . $arg;
            $this->litEscribirComentario->Text = "<a class=\"escribir\" data-toggle=\"modal\" href=\"#\" data-target=\"#modalPublicarComentario\" onclick=\"prepararComentario('" . Tipo_comentario::RELATO . "','" . $oRelato->getId() . "','#holderComentarios','" . $page . "');jQuery('#ctl0_txtComentario').focus();\">Escribir comentario</a>";
            //$this->litEscribirComentarioBottom->Text = "<a class=\"escribir\" data-toggle=\"modal\" href=\"#\" data-target=\"#modalPublicarComentario\" onclick=\"prepararComentario('" . Tipo_comentario::RELATO . "','" . $oRelato->getId() . "','#holderComentarios','" . $page . "');jQuery('#ctl0_txtComentario').focus();\">Escribir comentario</a>";
        } else {
            $this->litComentarComoTop->Text = "<span class=\"user_com\">Debes <a data-toggle=\"modal\" href=\"#modalLogin\" title=\"Ingresa a tu cuenta para acceder a todas las funciones de nuestro portal\">ingresar</a> a tu cuenta para comentar o <a data-toggle=\"modal\" href=\"#modalRegistro\" title=\"Registrate para acceder a todas las funciones de nuestro portal\">registrate</a></span>";
            $this->litEscribirComentario->Text = "<span class=\"user_com\">Para comentar debes iniciar sesion o registrarte</span>";
            //$this->litEscribirComentarioBottom->Text = "<span class=\"user_com\">Para comentar debes iniciar sesion o registrarte</span>";
        }
    }
    
    private function iniciarControlesRelato($oRelato){
        $this->Page->Title = $oRelato->getTitulo() . " - Diosas del Placer";
        $arg = Util::encriptarUrl(array("id" => $oRelato->getIdEscort()));
        $this->litEscribirRelato->Text = "<a href='index.php?page=Index.EscribirRelato&a=".$arg."' class='btn btn-inverse pull-right' style='position:relative;top:3px;'><i class='icon-pencil icon-white'></i> Escribir mi relato</a>";
        $this->txtIdRelato->Value = $oRelato->getId();
        $this->litTitulo->Text = $oRelato->getTitulo();
        $oUsuarioPublicacion = DDPEntity::getUsuario($oRelato->getIdUsuario());
        $arg = Util::encriptarUrl(array("id" => $oUsuarioPublicacion->getId()));
        $this->litPublicadoPor->Text = "<a href='index.php?page=Index.ViewUsuario&a=".$arg."' title='Ver perfil'>". $oUsuarioPublicacion->getusuario() ."</a>";
        $this->litFecha->Text = Util::obtenerFechaExtendida($oRelato->getFecha());
        $arrRecurso = DDPEntity::getRecursoEscort($oRelato->getIdEscort(), 1, "DESTACADA");
        $path = Util::obtenerPathRecursoEscort($this->Page, Tipo_recurso::IMAGEN, Tipo_recurso::PATH_IMAGEN_DESTACADAS);
        foreach ($arrRecurso as $row) {
            $this->litImagen->Text = "<img class='img-polaroid' src='".$path . $row->getSrc()."' alt='".$oRelato->getTitulo()."' title='".$oRelato->getTitulo()."' />";
        }        
        $this->litTexto->Text = Util::reemplazarTextoPorEmoticon($oRelato->getMensaje());
    }

    private function iniciarControlesUltimosRelatos($arr) {
        $template = "<li class='li-side'>
                        <img class='user-ul-side' <img src='{#IMG}' alt='' />
                        <span class='fecha-ul-side'>{#FECHA_EXTENDIDA}</span>
                        <span class='sidebar-post'><a href='{#LINK}'>{#TITULO}</a><br>
                            <a class='linkSide' href='{#LINK}' title='Seguir leyendo...'>{#MENSAJE}<i class='icon-share-alt icon-white'></i></a>
                        </span>
                    </li>";
        $templateAux = "";
        $html = "";
        $fecha = "";
        $path = $this->Page->Theme->BaseUrl . "/images/recurso_escort/imagen/perfil/thumbs/";
        $i = 1;
        if (count($arr) > 0) {
            foreach ($arr as $oRelato) {
                $templateAux = $template;
                $templateAux = str_replace("{#IMG}", $path . $oRelato->getImgRelato(), $templateAux);
                $templateAux = str_replace("{#FECHA_EXTENDIDA}", Util::obtenerFechaExtendida($oRelato->getFecha()), $templateAux);
                $templateAux = str_replace("{#TITULO}", $oRelato->getTitulo(), $templateAux);
                $comentario = $oRelato->getMensaje();
                if (strlen($comentario) > 140) {
                    $comentario = Util::recortarTexto(strip_tags($comentario), 140);
                }
                $templateAux = str_replace("{#MENSAJE}", $comentario, $templateAux);
                $templateAux = str_replace("{#LINK}", "index.php?page=Index.Relato&a=" . Util::encriptarUrl(array("id" => $oRelato->getId())), $templateAux);

                $html .= $templateAux;
                if ($i == 5) {
                    break;
                } else {
                    $i++;
                }
            }
        }
        $this->litUltimosRelatos->Text = $html;
    }

    private function iniciarControlesUltimosComentarios($arr) {
        $template = "<li class='li-side'>
                        <img class='user-ul-side' <img src='{#IMG}' alt='' />
                        <span class='fecha-ul-side'>{#FECHA_EXTENDIDA}</span>
                        <span class='sidebar-post'><a href='{#LINK}'>{#TITULO}</a><br>
                            <a class='linkSide' href='{#LINK}' title='Seguir leyendo...'>{#MENSAJE} <i class='icon-share-alt icon-white'></i></a>
                        </span>
                    </li>";
        $templateAux = "";
        $html = "";
        $fecha = "";
        $path = $this->Page->Theme->BaseUrl . "/images/avatar/";
        if (count($arr) > 0) {
            foreach ($arr as $oComentario) {
                $titulo = "";
                $link = "";
                $tipo = $oComentario->getIdTipoComentario();
                
                switch ($tipo) {
                    case Tipo_comentario::ESCORT:
                        $titulo = $oComentario->getRegistro();
                        $link = "Perfil";
                        break;
                    case Tipo_comentario::ENTREVISTA:
                        $titulo = $oComentario->getRegistro();
                        $link = "Entrevista";
                        break;
                    case Tipo_comentario::NOTICIA:
                        $titulo = $oComentario->getRegistro();
                        $link = "Noticia";
                        break;
                    case Tipo_comentario::RELATO:
                        $titulo = $oComentario->getRegistro();
                        $link = "Relato";
                        break;
                    case Tipo_comentario::CONCURSO:
                        $titulo = $oComentario->getRegistro();
                        $link = "Concurso";
                        break;
                    default:
                        break;
                }
                $templateAux = $template;
                $templateAux = str_replace("{#IMG}", $path . (Util::isNullOrEmpty($oComentario->getRutaAvatar()) ? "dios.jpg" : $oComentario->getRutaAvatar()), $templateAux);
                $templateAux = str_replace("{#FECHA_EXTENDIDA}", Util::obtenerFechaExtendida($oComentario->getFecha()), $templateAux);
                $templateAux = str_replace("{#TITULO}", $titulo, $templateAux);
                $comentario = $oComentario->getMensaje();
                if (strlen($comentario) > 140) {
                    $comentario = Util::recortarTexto(strip_tags($comentario), 140);
                }
                $templateAux = str_replace("{#MENSAJE}", $comentario, $templateAux);
                $templateAux = str_replace("{#LINK}", "index.php?page=Index.". $link ."&a=" . Util::encriptarUrl(array("id" => $oComentario->getIdRegistro())) . "#topComentarios", $templateAux);

                $html .= $templateAux;
            }
        }
        $this->litUltimosComentarios->Text = $html;
    }

}

?>
